279de83de52686a0508970de2a8d03ffe5f2fc1c,xwiki-rest/src/main/java/org/xwiki/rest/resources/attachments/AttachmentResource.java,AttachmentResource,putAttachment,#String#String#String#String#number[]#,69
Before Change
* external URL for an attachment
*/
xwikiDocument =
Utils.getXWiki(componentManager).getDocument(doc.getPrefixedFullName(),
Utils.getXWikiContext(componentManager));
String attachmentXWikiAbsoluteUrl =
xwikiDocument.getExternalAttachmentURL(attachmentName, "download", Utils.getXWikiContext(componentManager))
.toString();
String attachmentXWikiRelativeUrl =
xwikiDocument.getAttachmentURL(attachmentName, "download", Utils.getXWikiContext(componentManager))
.toString();
Attachment attachment =
DomainObjectFactory.createAttachment(objectFactory, uriInfo.getBaseUri(), new com.xpn.xwiki.api.Attachment(
After Change
@PUT
public Response putAttachment(@PathParam("wikiName") String wikiName, @PathParam("spaceName") String spaceName,
@PathParam("pageName") String pageName, @PathParam("attachmentName") String attachmentName, byte[] content)
throws XWikiException
{
DocumentInfo documentInfo = getDocumentInfo(wikiName, spaceName, pageName, null, null, true, true);
Document doc = documentInfo.getDocument();
if (!doc.hasAccessLevel("edit", Utils.getXWikiUser(componentManager))) {
throw new WebApplicationException(Status.UNAUTHORIZED);
}
boolean existed = false;
XWikiDocument xwikiDocument =
Utils.getXWiki(componentManager).getDocument(doc.getPrefixedFullName(),
Utils.getXWikiContext(componentManager));
XWikiAttachment xwikiAttachment = xwikiDocument.getAttachment(attachmentName);
if (xwikiAttachment == null) {
xwikiAttachment = new XWikiAttachment();
xwikiDocument.getAttachmentList().add(xwikiAttachment);
} else {
existed = true;
}
xwikiAttachment.setContent(content);
xwikiAttachment.setAuthor(Utils.getXWikiUser(componentManager));
xwikiAttachment.setFilename(attachmentName);
xwikiAttachment.setDoc(xwikiDocument);
xwikiDocument.saveAttachmentContent(xwikiAttachment, Utils.getXWikiContext(componentManager));
doc.save();
URL url =
Utils.getXWikiContext(componentManager).getURLFactory().createAttachmentURL(attachmentName, spaceName,
doc.getName(), "download", null, wikiName, Utils.getXWikiContext(componentManager));
String attachmentXWikiAbsoluteUrl = url.toString();
String attachmentXWikiRelativeUrl =
Utils.getXWikiContext(componentManager).getURLFactory()
.getURL(url, Utils.getXWikiContext(componentManager));
Attachment attachment =
DomainObjectFactory.createAttachment(objectFactory, uriInfo.getBaseUri(), new com.xpn.xwiki.api.Attachment(